import { NullablePromise } from "pao-aop";
import { DataList } from "../business/models/user";
import { CategorySign } from "./categorySign";
import { ModuleSort } from "./baseSign";

/*
 * 版权：Copyright (c) 2019 红网
 * 
 * 创建日期：Saturday March 16th 2019
 * 创建者：杨子毅(yangziyi) - gzhhyangzy@126.com
 * 
 * 修改日期: Saturday, 16th March 2019 3:18:45 pm
 * 修改者: 杨子毅(yangziyi) - gzhhyangzy@126.com
 * 
 * 说明
 * 		1、单品标识服务接口
 */

/**
 * 单品对象
 */
export class SingleProductSign {
    /** 
     * key编号（前台使用，antd中的table中使用，后台忽略该字段） 
     */
    key?: string;
    /** 索引 */
    id?: string;
    /** 单品标识 */
    handle_code?: string;
    /** 单品名称 */
    handle_name?: string;
    /** 标识分类 */
    handle_type?: string;
    /** 用户ID */
    user_id?: string;
    /** 二维码图片 */
    rc_code?: string;
    /** 创建时间 */
    create_date?: string;
    /** 修改时间 */
    modify_date?: string;
    /** 产品类型 */
    product_type?: string;
    /** 自定义属性 */
    custom_attribute?: CustomAttribute[];
    /** 产品图片 */
    product_picture?: string;
    /** 企业名称 */
    company_handle_name?: string;
    /** 企业标识码 */
    company_handle_code?: string;
    /** 品类名称 */
    category_handle_name?: string;
    /** 品类标识码 */
    category_handle_code?: string;
    /** 模块排序及显示 */
    module_sort?: ModuleSort;
    /** 企业模块排序 */
    company_show_sort?: number;
    /** 企业模块是否显示 */
    company_is_show?: boolean;
    /** 品类模块排序 */
    category_show_sort?: number;
    /** 品类模块是否显示 */
    category_is_show?: boolean;
    /** 单品模块排序 */
    single_show_sort?: number;
    /** 单品模块是否显示 */
    single_is_show?: boolean;
}
/**
 * 自定义属性对象
 */
export interface CustomAttribute {
    /** 格式 */
    format?: string;
    /** 标签 */
    label?: string;
    /** 值 */
    value?: any;
}
/**
 * 查询条件对象
 */
export interface ProductSignCondition {
    /** id */
    id?: string;
    /** 单品名称 */
    handle_name?: string;
    /** 单品标识 */
    handle_code?: string;
    /** 创建时间 */
    create_date?: string;
}
/**
 * 单品服务对象
 * yzy
 */
export class ISingleProductSignService {
    /**
     * 查询单品标识列表
     */
    get_single_list?(condition?: ProductSignCondition, page?: number, count?: number): NullablePromise<DataList<SingleProductSign> | undefined> {
        return undefined;
    }
    /**
     * 获取单品标识信息
     */
    get_single?(ID?: string): NullablePromise<SingleProductSign | undefined> {
        return undefined;
    }
    /**
     * 获取品类标识列表
     */
    get_category_list?(condition?: ProductSignCondition, page?: number, count?: number): NullablePromise<DataList<CategorySign> | undefined> {
        return undefined;
    }
    /**
     * 删除
     */
    delete_single?(ids: string[]): NullablePromise<boolean | undefined> {
        return undefined;
    }
    /**
     * 增加/修改
     */
    insert?(data: SingleProductSign): NullablePromise<boolean | undefined> {
        return undefined;
    }
    /**
     * 新增排序
     */
    insert_preview?(data: SingleProductSign): NullablePromise<any | undefined> {
        return undefined;
    }

}